//
//  JYGlobalEnum.h
//  s.
//
//  Created by fanshijian on 2022/8/22.
//  Copyright © 2022 J. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef void (^ JYBlock) (void);
typedef void (^ JYValueBlock) (id __nullable data);
typedef void (^ JYTextBlock) (NSString *text);
typedef void (^ JYText2Block) (NSString *text, NSString *text2);
typedef void (^ JYBoolBlock) (BOOL is);
typedef void (^ JYBoolValueBlock) (BOOL is, id __nullable data);
typedef void (^ JYFloatBlock) (CGFloat f);
typedef void (^ JYIntBlock) (NSInteger i);
typedef void (^ JYIndexDataBlock) (NSInteger index, id data);
typedef void (^ JYImageBlock) (UIImage *img);
typedef void (^ JYDataBlock) (NSData *data);
typedef void (^ JYImageAndUrlBlock) (UIImage *img, NSString *url);
typedef void (^ JYArrayBlock) (NSArray *a);
typedef void (^ JYSizeBlock) (CGSize s);
typedef void (^ JYMoneyBlock) (NSString *text, int type);
typedef CGSize (^ JYRSizeBlock) (void);
typedef NSString * _Nonnull (^ JYRStringBlock) (void);
typedef UIView * _Nonnull (^ JYRViewBlock) (void);
typedef void (^ JYMakerBlock) (MASConstraintMaker *make);
#pragma mark ------


typedef NS_ENUM(NSInteger, DeviceCommandEnum) {
    /// 握手
    Command_Handshake,
    /// 芯片信息
    Command_ChipInfo,
    /// 绑定
    Command_Bind,
    /// 解绑
    Command_unbind, 
    ///  功能列表
    Command_FounctionList,
    /// 设备信息
    Command_DeviceInfo,
    /// 设置用户信息
    Command_SetUserInfo,
    /// 表盘切换
    Command_DialSwitch,
    /// 亮屏时间
    Command_ScreenTime,
    /// 震动设置
    Command_VibrationSet,
    /// 抬手亮屏设置
    Command_RaiseHand,
    /// 12/24 设置
    Command_12_24_Set,
    /// 语言设置
    Command_LanguageSet,
    /// 公英制设置
    Command_LengthSet,
    /// 温度设置
    Command_TemperatureSet,
    /// 计步目标
    Command_StepGoal,
    /// 定时心率提醒
    Command_HeartRateReminders,
    /// 久坐提醒
    Command_Sedentary,
    /// 喝水提醒
    Command_Water,
    /// 吃药提醒
    Command_Medicine,
    /// 生理期设置
    Command_PhysiologicalPeriod,
    /// 定时体温设置
    Command_BodyTemperature,
    
    
    /// 消息通知
    Command_Notification,
    ///  勿扰设置
    Command_DoNotDisturb,
    ///  SOS设置
    Command_SOS,
    ///  查找手机
    Command_FindPhone,
    ///  查找手表
    Command_FindWatch,
    /// 闹钟
    Command_Alarm,
    /// 设置闹钟
    Command_Set_Alarm,
    /// 防丢设置
    Command_Antilost,
    /// OTA升级
    Command_OTA_Upgrade,
   
    /// GPS数据
    Command_GPSData,
    
    /// 用户信息设置
    Command_UserInfo,
    /// 版本号
    Command_OTA_Version,
    /// 实时数据  步数数据 卡路里（卡） 距离（米） 心率  电量（百分比）
    Command_CurrentData,
    /// 心率历史数据
    Command_HeartRateHistory,
    /// 血氧历史数据
    Command_BloodOxygenHistory,
    /// 睡眠历史数据
    Command_SleepHistory, 
    /// 血压历史数据
    Command_BloodPressureHistory,
    ///运动记录数据0X0302：(无数据时回复帧头+长度0)
    Command_SportRecord,
    ///运动控制 0X0303：(无数据时回复帧头+长度0)
    Command_SportControl,
    ///实时天气
    Command_NowWeather,
    ///未来天气
    Command_DelayWeather,
    // 更新时间
    Command_UpdateDate,
    
} ;



typedef enum : NSUInteger {
    //  设置时间
    Pillow_UpdateDate,
    //  读取时间
    Pillow_ReadDate,
    //  启动按摩
    Pillow_StartMassage, 
    //  同步数据
    Pillow_Synchronous,
    //  同步数据回应
    Pillow_RespondSynchronous, 
    //  3.5.2    获取按摩状态
    Pillow_GetMassage,
    // 3.8.3    设置鼾声干预强度
    Pillow_SnoreInterventionIntensity,
    // 放松设置
    Pillow_RelaxSet,
    //   打鼾等级
    Pillow_GradeSnoring,
} PillowCommandEnum;


typedef enum : NSUInteger {
    /// Storm手表
//    BleDevice_Storm = 1,
    /// Lightthing手表
//    BleDevice_Lightthing = 2,
    ///  睡眠手表
//    BleDevice_SleepWatch = 3,
    BleDevice_Watch = 4,
    ///  枕头
    BleDevice_Pillow = 5,
} BleDeviceType;


typedef enum : NSUInteger {
    /// 步数
    RecordType_Step = 1,
    /// 热量
    RecordType_Heat,
    ///  距离
    RecordType_Distance,
    ///  睡眠
    RecordType_Sleep,
    ///  心率
    RecordType_HeartReat, 
    ///  呼吸率
    RecordType_RespiratoryReat,
    ///    血氧
    RecordType_BloodOxygen, 
    ///   血压
    RecordType_BloodPressure,
    
} RecordType;


typedef enum : NSUInteger {
    SportType_Running =  0,
    SportType_Riding,
    SportType_Tennis,
    SportType_RopeSkipping,
    SportType_Swimming,
    SportType_Climbing,
    SportType_Walking,
    SportType_Basketball,
    SportType_Soccer,
    SportType_Yoga,
    SportType_Workout,
    SportType_Weightlifting,
} SportTypeEnum;

typedef NS_ENUM(NSInteger, LanguageType) {
    Language_Chinase = 1,
    Language_English,
    Language_KapiBala,
} ;


@interface JYGlobalEnum : NSObject


@end

NS_ASSUME_NONNULL_END
